/**
 * 安全地解析JSON字符串。
 *
 * 该函数尝试解析一个给定的字符串为JSON对象。如果解析失败，由于JSON格式不正确或其他原因，
 * 函数将返回`undefined`，而不是抛出错误。这种方式可以更优雅地处理解析错误，避免了程序因捕获异常而中断。
 *
 * @param data 要解析的JSON字符串。
 * @returns 解析后的JSON对象，如果解析失败则返回`undefined`。
 */
export function safaJsonParse(data: any) {
  try {
    return JSON.parse(data);
  } catch (error) {
    return undefined;
  }
}

/**
 * 安全地将数据转换为JSON字符串。
 *
 * 该函数尝试将给定的数据转换为JSON字符串。如果转换过程中发生错误（例如，数据结构不被支持），
 * 则函数会安静地失败，返回`undefined`而不是抛出异常。这使得调用者可以更易于处理不可预计的数据结构或类型，而不会导致程序因异常而中断。
 *
 * @param data 要转换为JSON字符串的数据。
 * @returns 成功时返回数据的JSON字符串表示；失败时返回`undefined`。
 */
export function safeJsonStringify(data: any) {
  try {
    return JSON.stringify(data);
  } catch (error) {
    return undefined;
  }
}
